package cn.edu.sdjzu.knoverse.model.entity.kg;

import com.alibaba.fastjson2.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.data.neo4j.core.schema.Node;
import org.springframework.data.neo4j.core.schema.Property;

@Data
@EqualsAndHashCode(callSuper = true)
@Node(primaryLabel = "Case", labels = {"BaseNode"})
public class CaseNode extends BaseNode {

    /**
     * 案例封面
     */
    @Property("cover")
    private String cover;

    /**
     * 案例类型
     */
    @Property("type")
    private String type;
    
    /**
     * 案例难度
     */
    @Property("difficulty")
    private Integer difficulty;
    
    /**
     * 案例状态，0-草稿，1-审核中，2-已发布，3-审核未通过，4-已下架
     */
    @Property("status")
    private Integer status;

    /**
     * 审核消息
     */
    @Property("auditMessage")
    private String auditMessage;

    /**
     * 审核人
     */
    @Property("auditor")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    @JSONField(serializeUsing = ToStringSerializer.class)
    private Long auditor;
} 